package Copy;

import java.io.File;

/**
 * 目录结构,可以理解为树状图,我们也不清楚到底有几层目录结构
 * 
 * 一层目录使用一个循环,两层目录使用两个嵌套循环,三层目录就使用三个循环
 * 
 * 那么不知道有多少层目录结构,就没办法使用循环搞定
 * 
 * 像这种树状结构,我们使用递归完成
 * 
 * @author lenovo
 * @date 2020年7月22日
 */
public class IO_18_Copy_02 {

	public static void main(String[] args) {
//		List<Integer> list = new ArrayList<Integer>();
//		list.add(1);
//
//		for (int i = 0; i < list.size(); i++) {
//			list.add(i);
//			System.out.println(list.get(i));
//		}
//
//		for (Integer integer : list) {
//			// java.util.ConcurrentModificationException
//			list.add(2);
//		}
//
//		Iterator<Integer> iterator = list.iterator();
//		while (iterator.hasNext()) {
//			iterator.next();
//			// java.util.ConcurrentModificationException
//			list.add(2);
//			System.out.println("---");
//		}

		File file = new File("D:\\天亮教育\\day_17_07.14");
		checkMenu(file);
	}

	public static void checkMenu(File file) {
		// System.out.println(file.getAbsolutePath());
		// 如果是文件就终止
		if (file.isFile()) {
			// 打印全路径
			System.out.println(file.getAbsolutePath());
			return;
		}

		// 能到这里,说明是目录
		File[] files = file.listFiles();
		for (File subFile : files) {
			checkMenu(subFile);
		}
	}
}
